<?php defined('SYSPATH') or die('No direct script access.');
 
class request extends request_Core {
    
	private static $REQUEST_TYPE_PARAM_NAME = 'requestType';
	public static $REQUEST_TYPE_POPUP = 'popup';
	
	public static function isPopup() {
		return $_GET[self::$REQUEST_TYPE_PARAM_NAME] == self::$REQUEST_TYPE_POPUP || $_POST[self::$REQUEST_TYPE_PARAM_NAME] == self::$REQUEST_TYPE_POPUP;
	}
	
    /**
     * The code is from
     * http://www.thefutureoftheweb.com/blog/use-accept-language-header
     */
    public static function getAcceptedLanguages() {
        $langs = array();

        if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
            // break up string into pieces (languages and q factors)
            preg_match_all('/([a-z]{1,8}(-[a-z]{1,8})?)\s*(;\s*q\s*=\s*(1|0\.[0-9]+))?/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $lang_parse);

            if (count($lang_parse[1])) {
                // create a list like "en" => 0.8
                $langs = array_combine($lang_parse[1], $lang_parse[4]);

                // set default to 1 for any without q factor
                foreach ($langs as $lang => $val) {
                    if ($val === '') $langs[$lang] = 1;
                }

                // sort list based on value	
                arsort($langs, SORT_NUMERIC);
            }
        }
        return $langs;
    }
}
